cee14d1ee30ec5edb469ea9b55dec83084f01779,plugins/structuralsearch/source/com/intellij/structuralsearch/plugin/replace/impl/ReplacerImpl.java,ReplacerImpl,testReplace,#String#String#String#ReplaceOptions#boolean#,47
Before Change
PsiElement lastElement = elements[elements.length-1];
PsiElement parent = firstElement.getParent();
this.options.getMatchOptions().setScope(
new LocalSearchScope(parent)
);
this.options.getMatchOptions().setResultIsContextMatch(true);
CollectingMatchResultSink sink = new CollectingMatchResultSink();
After Change
try {
PsiElement firstElement, lastElement, parent;
if (options.getMatchOptions().getScope() == null) {
PsiElement[] elements = MatcherImplUtil.createTreeFromText(
in,
filePattern ? MatcherImplUtil.TreeContext.File : MatcherImplUtil.TreeContext.Block,
this.options.getMatchOptions().getFileType(),
project
);
firstElement = elements[0];
lastElement = elements[elements.length-1];
parent = firstElement.getParent();
this.options.getMatchOptions().setScope(
new LocalSearchScope(parent)
);
} else {
parent = ((LocalSearchScope)options.getMatchOptions().getScope()).getScope()[0];
firstElement = parent.getFirstChild();